STAT2 : STATISTIQUES EXPLORATOIRES

Les fonctions de R-Base

Claude Grasland & Jean-Paul Nguesso

2025-06-01

library(knitr)
library(dplyr)
library(questionr)

Introduction

Les deux exercices qui suivent utilisent volontairement les fonctions de base du langage R (on dit que l’on programme en R-base) à l’exclusion de tout package c’est-à-dire de tout outil graphique ou statistique mis au point ultérieurement.

Par comparaison avec le jeu de lego, cela revient à effectuer des constructions avec la boîte de base. A première vue cela peut sembler frustrant. Mais en réalité cela ne bride en rien l’imagination et permet d’apprendre plein de choses sans être distrait …

Plan

  1. La manipulation des tableaux de données : c’est-à-dire à la fois l’importation, le recodage éventuel des variables et la correction de leur type, la sélection de lignes ou de colonnes pour créer des sous-tableaux.

  2. L’exploration statistique univariée : c’est-à-dire le calcul de résumés simples d’une variable à l’aide de paramètres statistiques (valeurs centrales, dispersion) et la production de graphiques élémentaires.

Pour rendre l’apprentissage moins austère, nous avons choisi un tableau de données sur les pays d’Afrique de l’Ouest en 2018

(A) MANIPULATION DE TABLEAUX

Importation

  • Avec la souris

Cliquer sur les menus déroulants File/Import Dataset/From text (base) puis suivre le menu

Importation

  • Avec des lignes de code

On utilise par exemple la fonction read.table() en précisant les paramètres utiles :

don <- read.table(file = "data/africa_pays_2018/data/africa_ouest_2018.csv", # nom du fichier et chemin d'accès
                  sep = ";",                     # séparateur (ici, des points-virgule)
                  dec=",", # Type de décimale
                  header = TRUE,                 # ligne d'en-tête avec le nom des variables
                  encoding="UTF-8")              # encodage adapté au français

Dimensions d’un tableau

  • La fonction dim() fournit les dimensions d’un tableau
dim(don)
[1] 15 11

Type d’un tableau

  • La fonction class() fournit le type d’un tableau
class(don)
[1] "data.frame"

Visualisation d’un tableau

  • Premières lignes avec head()
head(don)         # Affiche par défaut les 6 premières lignes
  iso3           nom  POP  PIB CO2HAB ESPVIE AGEMED MORINF URBANI LOCKED LANGFR
1  BEN         Bénin 11.6 3224   0.62   61.6   18.8   60.5   47.6      0      1
2  BFA  Burkina Faso 20.0 2161   0.20   61.4   17.6   49.0   29.7      1      1
3  CIV Côte d'Ivoire 25.4 5134   0.33   57.6   18.9   59.4   51.0      0      1
4  GHA         Ghana 30.1 5304   0.61   63.9   21.5   34.9   56.4      0      0
5  GIN        Guinée 12.6 2531   0.26   61.4   18.0   64.9   36.3      0      1
6  GMB        Gambie  2.3 2176   0.27   61.9   17.8   39.0   61.6      0      0
  • Dernières lignes avec tail()
tail(don,2)         # Affiche les 2 dernières lignes
   iso3          nom POP  PIB CO2HAB ESPVIE AGEMED MORINF URBANI LOCKED LANGFR
14  SLE Sierra Leone 7.7 1691   0.14   54.5   19.4   78.5   42.3      0      0
15  TGO         Togo 8.0 1574   0.43   60.9   19.4   47.4   42.0      0      1

Verification des variables

  • Vérifie le type avec str()
str(don)
'data.frame':   15 obs. of  11 variables:
 $ iso3  : chr  "BEN" "BFA" "CIV" "GHA" ...
 $ nom   : chr  "Bénin" "Burkina Faso" "Côte d'Ivoire" "Ghana" ...
 $ POP   : num  11.6 20 25.4 30.1 12.6 2.3 1.9 4.9 19.4 4.5 ...
 $ PIB   : int  3224 2161 5134 5304 2531 2176 1969 1462 2305 5120 ...
 $ CO2HAB: num  0.62 0.2 0.33 0.61 0.26 0.27 0.18 0.32 0.19 0.6 ...
 $ ESPVIE: num  61.6 61.4 57.6 63.9 61.4 61.9 58.2 63.9 59.1 64.8 ...
 $ AGEMED: num  18.8 17.6 18.9 21.5 18 17.8 18.8 19.4 16.3 20.1 ...
 $ MORINF: num  60.5 49 59.4 34.9 64.9 39 54 53.5 62 51.5 ...
 $ URBANI: num  47.6 29.7 51 56.4 36.3 61.6 43.6 51.4 42.8 54.1 ...
 $ LOCKED: int  0 1 0 0 0 0 0 0 1 0 ...
 $ LANGFR: int  1 1 1 0 1 0 0 0 1 0 ...
  • Recode avec les fonctions as.xxx()
don$LOCKED<-as.factor(don$LOCKED)
levels(don$LOCKED) <- c("non enclavé","enclavé")
don$LANGFR <-as.factor(don$LANGFR)
levels(don$LANGFR)<-c("non francophone","francophone")

Résumé du tableau

La fonction summary() donne un aperçu général des variables

summary(don)
     iso3               nom                 POP              PIB      
 Length:15          Length:15          Min.   :  1.90   Min.   :1208  
 Class :character   Class :character   1st Qu.:  6.30   1st Qu.:1830  
 Mode  :character   Mode  :character   Median : 12.60   Median :2305  
                                       Mean   : 25.72   Mean   :2957  
                                       3rd Qu.: 21.45   3rd Qu.:4238  
                                       Max.   :198.40   Max.   :5304  
     CO2HAB          ESPVIE          AGEMED          MORINF     
 Min.   :0.100   Min.   :54.50   Min.   :15.20   Min.   :31.80  
 1st Qu.:0.195   1st Qu.:58.65   1st Qu.:17.90   1st Qu.:47.70  
 Median :0.320   Median :61.40   Median :18.80   Median :53.50  
 Mean   :0.376   Mean   :60.91   Mean   :18.52   Mean   :54.01  
 3rd Qu.:0.605   3rd Qu.:63.05   3rd Qu.:19.40   3rd Qu.:61.25  
 Max.   :0.740   Max.   :67.80   Max.   :21.50   Max.   :78.50  
     URBANI              LOCKED               LANGFR 
 Min.   :16.50   non enclavé:12   non francophone:7  
 1st Qu.:42.15   enclavé    : 3   francophone    :8  
 Median :47.50                                       
 Mean   :44.91                                       
 3rd Qu.:51.20                                       
 Max.   :61.60                                       

Transformations

Copie intégrale

Elle s’effectue avec l’opérateur <-

tab<-don
dim(tab)
[1] 15 11
head(tab,2)
  iso3          nom  POP  PIB CO2HAB ESPVIE AGEMED MORINF URBANI      LOCKED
1  BEN        Bénin 11.6 3224   0.62   61.6   18.8   60.5   47.6 non enclavé
2  BFA Burkina Faso 20.0 2161   0.20   61.4   17.6   49.0   29.7     enclavé
       LANGFR
1 francophone
2 francophone
tail(tab,2)
   iso3          nom POP  PIB CO2HAB ESPVIE AGEMED MORINF URBANI      LOCKED
14  SLE Sierra Leone 7.7 1691   0.14   54.5   19.4   78.5   42.3 non enclavé
15  TGO         Togo 8.0 1574   0.43   60.9   19.4   47.4   42.0 non enclavé
            LANGFR
14 non francophone
15     francophone

Sélection de lignes

On utilise la syntaxe tab2<-tab[conditions , ] avec les opérateurs logiques suivants

  • == : est égal à
  • != : est différent de
  • > : est strictement supérieur à
  • < : est strictement inférieur à
  • >= : est supérieur ou égal à
  • <= : est inférieur ou égal à
  • & : ET (vrai si les deux conditions sont vérifiées)
  • | : OU inclusif (vrai si l’une des conditions est vérifiée)
  • xor : OU exclusif (vrai si une seule des conditions est vérifiée)

Sélection de lignes

  • Exemple de sélection des pays enclavés
don2<-don[don$LOCKED=="enclavé",]
don2
   iso3          nom  POP  PIB CO2HAB ESPVIE AGEMED MORINF URBANI  LOCKED
2   BFA Burkina Faso 20.0 2161   0.20   61.4   17.6     49   29.7 enclavé
9   MLI         Mali 19.4 2305   0.19   59.1   16.3     62   42.8 enclavé
11  NER        Niger 22.9 1208   0.10   62.2   15.2     48   16.5 enclavé
        LANGFR
2  francophone
9  francophone
11 francophone

Sélection de lignes

  • Exemple de sélection des pays non enclavés
don3<-don[don$LOCKED!="enclavé",]
don3
   iso3           nom   POP  PIB CO2HAB ESPVIE AGEMED MORINF URBANI      LOCKED
1   BEN         Bénin  11.6 3224   0.62   61.6   18.8   60.5   47.6 non enclavé
3   CIV Côte d'Ivoire  25.4 5134   0.33   57.6   18.9   59.4   51.0 non enclavé
4   GHA         Ghana  30.1 5304   0.61   63.9   21.5   34.9   56.4 non enclavé
5   GIN        Guinée  12.6 2531   0.26   61.4   18.0   64.9   36.3 non enclavé
6   GMB        Gambie   2.3 2176   0.27   61.9   17.8   39.0   61.6 non enclavé
7   GNB Guinée-Bissau   1.9 1969   0.18   58.2   18.8   54.0   43.6 non enclavé
8   LBR       Libéria   4.9 1462   0.32   63.9   19.4   53.5   51.4 non enclavé
10  MRT    Mauritanie   4.5 5120   0.60   64.8   20.1   51.5   54.1 non enclavé
12  NGA       Nigéria 198.4 5145   0.65   54.5   18.1   75.7   50.8 non enclavé
13  SEN       Sénégal  16.1 3355   0.74   67.8   18.5   31.8   47.5 non enclavé
14  SLE  Sierra Leone   7.7 1691   0.14   54.5   19.4   78.5   42.3 non enclavé
15  TGO          Togo   8.0 1574   0.43   60.9   19.4   47.4   42.0 non enclavé
            LANGFR
1      francophone
3      francophone
4  non francophone
5      francophone
6  non francophone
7  non francophone
8  non francophone
10 non francophone
12 non francophone
13     francophone
14 non francophone
15     francophone

Sélection de lignes

  • Exemple de sélection des pays de plus 20 millions d’habitant
big<-don[don$POP>20,]
big
   iso3           nom   POP  PIB CO2HAB ESPVIE AGEMED MORINF URBANI      LOCKED
3   CIV Côte d'Ivoire  25.4 5134   0.33   57.6   18.9   59.4   51.0 non enclavé
4   GHA         Ghana  30.1 5304   0.61   63.9   21.5   34.9   56.4 non enclavé
11  NER         Niger  22.9 1208   0.10   62.2   15.2   48.0   16.5     enclavé
12  NGA       Nigéria 198.4 5145   0.65   54.5   18.1   75.7   50.8 non enclavé
            LANGFR
3      francophone
4  non francophone
11     francophone
12 non francophone

Sélection de lignes

  • Exemple de sélection des pays enclavés de plus 20 millions d’habitant (on mélange deux conditions avec l’opérateur &)
big2<-don[don$LOCKED=="enclavé" & don$POP>20,]
big2
   iso3   nom  POP  PIB CO2HAB ESPVIE AGEMED MORINF URBANI  LOCKED      LANGFR
11  NER Niger 22.9 1208    0.1   62.2   15.2     48   16.5 enclavé francophone

Sélection de colonnes

On utilise la syntaxe tab2<-tab[ , liste ] avec différentes syntaxes pour les listes de variables :

  • Sélection nominale
tab<-don[,c("iso3","nom", "POP", "PIB", "MORINF")]
head(tab)
  iso3           nom  POP  PIB MORINF
1  BEN         Bénin 11.6 3224   60.5
2  BFA  Burkina Faso 20.0 2161   49.0
3  CIV Côte d'Ivoire 25.4 5134   59.4
4  GHA         Ghana 30.1 5304   34.9
5  GIN        Guinée 12.6 2531   64.9
6  GMB        Gambie  2.3 2176   39.0
  • Sélection de positions
tab<-don[,c(1:4,8)]
head(tab,2)
  iso3          nom  POP  PIB MORINF
1  BEN        Bénin 11.6 3224   60.5
2  BFA Burkina Faso 20.0 2161   49.0

Sélection de lignes et colonnes

On utilise la syntaxe tab2<-tab[ conditions , liste]

  • Exemple : PIB et POP des pays de plus de 20 millions d’habitant
tab<-don[don$POP>20, c("nom","POP","PIB")]
tab
             nom   POP  PIB
3  Côte d'Ivoire  25.4 5134
4          Ghana  30.1 5304
11         Niger  22.9 1208
12       Nigéria 198.4 5145

Extraction d’une Variable = Vecteur

  • Solution n°1 : utilisation de l’opérateur $
myvar<-don$POP
str(myvar)
 num [1:15] 11.6 20 25.4 30.1 12.6 2.3 1.9 4.9 19.4 4.5 ...
mean(myvar)
[1] 25.72

-Solution n°2 : utilisation de [ , ]

myvar<-don[,3]
str(myvar)
 num [1:15] 11.6 20 25.4 30.1 12.6 2.3 1.9 4.9 19.4 4.5 ...
mean(myvar)
[1] 25.72

(B) ANALYSE D’UNE VARIABLE QUALITATIVE

Sélection et recodage

Les variables qualitatives nominales ou factor sont des objets composés d’une liste de numéros et d’une liste d’étiquettes.

X<-don$LANGFR
X
 [1] francophone     francophone     francophone     non francophone
 [5] francophone     non francophone non francophone non francophone
 [9] francophone     non francophone francophone     non francophone
[13] francophone     non francophone francophone    
Levels: non francophone francophone
# Vérification du type
str(X)
 Factor w/ 2 levels "non francophone",..: 2 2 2 1 2 1 1 1 2 1 ...

Sélection et recodage

Si la variable chargée est de type character il faut la transformer avec as.factor() et repérer les niveaux disponibles avec levels()

X<-as.factor(X)
class(X)
[1] "factor"
levels(X)
[1] "non francophone" "francophone"    

Sélection et recodage

On peut remplacer les niveaux en utilisant l’instruction levels()à nouveau, mais suivie d’un vecteur de charactères indiquant les changements de nom.

levels(X)<-c("non francophone","francophone")
             
X
 [1] francophone     francophone     francophone     non francophone
 [5] francophone     non francophone non francophone non francophone
 [9] francophone     non francophone francophone     non francophone
[13] francophone     non francophone francophone    
Levels: non francophone francophone
str(X)
 Factor w/ 2 levels "non francophone",..: 2 2 2 1 2 1 1 1 2 1 ...

Sélection et recodage

On peut transformer une variable quantitative en facteur avec la fonction cut()

summary(don$POP)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1.90    6.30   12.60   25.72   21.45  198.40 
Y<-cut(don$POP, breaks=c(0,10,30,200))
Y
 [1] (10,30]  (10,30]  (10,30]  (30,200] (10,30]  (0,10]   (0,10]   (0,10]  
 [9] (10,30]  (0,10]   (10,30]  (30,200] (10,30]  (0,10]   (0,10]  
Levels: (0,10] (10,30] (30,200]
str(Y)
 Factor w/ 3 levels "(0,10]","(10,30]",..: 2 2 2 3 2 1 1 1 2 1 ...

Sélection et recodage

On peut ensuite recoder les classes avec levels()

levels(Y)<-c("Petit","Moyen","Grand")
Y
 [1] Moyen Moyen Moyen Grand Moyen Petit Petit Petit Moyen Petit Moyen Grand
[13] Moyen Petit Petit
Levels: Petit Moyen Grand
str(Y)
 Factor w/ 3 levels "Petit","Moyen",..: 2 2 2 3 2 1 1 1 2 1 ...

Table de dénombrement

Pour dénomber une variable qualitative, on utilise l’instruction table() qui crée un objet particulier qui n’est ni un data.frame, ni une matrix.

tab<-table(X)
tab
X
non francophone     francophone 
              7               8 
str(tab)
 'table' int [1:2(1d)] 7 8
 - attr(*, "dimnames")=List of 1
  ..$ X: chr [1:2] "non francophone" "francophone"

Table de dénombrement

On peut créer des tables à 2 dimensions

tab2<-table(X,Y)
tab2
                 Y
X                 Petit Moyen Grand
  non francophone     5     0     2
  francophone         1     7     0
str(tab2)
 'table' int [1:2, 1:3] 5 1 0 7 2 0
 - attr(*, "dimnames")=List of 2
  ..$ X: chr [1:2] "non francophone" "francophone"
  ..$ Y: chr [1:3] "Petit" "Moyen" "Grand"

Table de dénombrement

Un objet de type table peut être manipulé par des fonctions spéciales comme addmargins() quii rajoute des sommes en ligne (et en colonne si la table est de dimension 2)

addmargins(tab)
X
non francophone     francophone             Sum 
              7               8              15 
addmargins(tab2)
                 Y
X                 Petit Moyen Grand Sum
  non francophone     5     0     2   7
  francophone         1     7     0   8
  Sum                 6     7     2  15

Table de dénombrement

Les objets de type table sont souvent la source de crises de nerf de la part des étudiants qui les confondent avec des objets de type vecteur, matrice ou data.frame. Il existe des fonctions de conversion d’un type vers un autre mais leur emploi n’est pas très simple.

On retiendra donc dans l’immédiat que les résultats de l’instruction tablesont des objets transitoires qui servent uniquement à afficher des résultats ou produire des graphiques à l’aide des instructions plot() ou barplot().

Graphique avec plot()

La fonction plot() s’applique à la plupart de objets R. Elle produit des résultats différents selon le type d’objet qu’elle a identifié. Si on l’applique à un vecteur de type factor on obtient un diagramme en bâtons (à ne pas confondre avec un histogramme)

plot(Y)

Graphique avec plot()

On peut améliorer le graphique en lui ajoutant des paramètres c’est-à-dire des instructions séparées par des virgules. Le retour à la ligne après chaque paramètre n’est pas obligatoire mais il est recommandé car il rend le code plus clair.

plot(Y,
     col=c("green", "yellow","orange"), 
     main= "Les pays d'Afrique de l'Ouest",
     xlab = "Taille", 
     ylab = "Nombre de pays")

(C) ANALYSE D’UNE VARIABLE QUANTITATIVE

Résumés numériques

Une variable numérique peut faire l’objet d’un ensemble de résumés statistiques à l’aide de fonctions élémentaires

  • min() : minimum
  • max() : maximum
  • mean() : moyenne
  • sd() : écart-type (en anglais : standard deviation, soit sd en abrégé)
  • sum() : somme

Résumés numériques

X <- don$PIB
min(X)
[1] 1208
max(X)
[1] 5304
mean(X)
[1] 2957.267
sd(X)
[1] 1501.883

Résumés numériques

Pour calculer les quantiles on peut utiliser la fonction quantile() en paramétrant la valeur de fréquence cumulée ascendante

  • quantile(X,0) : minimum
  • quantile(X,0.10) : D1 (premier décile)
  • quantile(X,0.25) : Q1 (premier quartile)
  • quantile(X,0.5) : Q2 (médiane)
  • quantile(X,0.75) : Q3 (troisième quartile)
  • quantile(X,0.90) : D9 (dernier décile)
  • quantile(X,1) : maximum

Résumés numériques

X<-don$PIB
quantile(X,0.5)
 50% 
2305 
sel<-c(0,0.25,0.5,0.75,1)
quantile(X,sel)
    0%    25%    50%    75%   100% 
1208.0 1830.0 2305.0 4237.5 5304.0 
sel<-c(0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1)
quantile(X,sel)
    0%    10%    20%    30%    40%    50%    60%    70%    80%    90%   100% 
1208.0 1506.8 1667.6 2007.4 2170.0 2305.0 2808.2 3328.8 5122.8 5140.6 5304.0 

Discrétisation

Une variable quantitative peut être discrétisée avec cut(). Elle devient alors un facteur qu’on peut dénomber avec table() puis visualiseer avec plot() sous la forme de diagramme en bâtons.

summary(X)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1208    1830    2305    2957    4238    5304 
X<-cut(don$PIB, c(1000,2000,3000,4000,5000,6000))
str(X)
 Factor w/ 5 levels "(1e+03,2e+03]",..: 3 2 5 5 2 2 1 1 2 5 ...
table(X)
X
(1e+03,2e+03] (2e+03,3e+03] (3e+03,4e+03] (4e+03,5e+03] (5e+03,6e+03] 
            5             4             2             0             4 

Discrétisation

plot(X, col=c("green","yellow","orange","red","brown"),
     main = "PIB/hab. en 2018", xlab = "classes")

Boîte à moustaches

La fonction boxplot() permet de visualiser une distribution sous forme de boîte à moustache où l’on repère facilement :

  • la médiane
  • les quartiles Q1 et Q3
  • le minimum et le maximum
  • les valeurs extrêmes situées à une distance supéreiure à 1.5 x (Q3-Q1) de la médiane

Boîte à moustaches

La syntaxe de base est la suivante :

X<-don$PIB
boxplot(X)

Boîte à moustaches

Mais on peut améliorer la figure avec quelques paramètres de plus

boxplot(X,horizontal = TRUE, col = "gray80",
        main = "PIB en 2018",
        xlab = "en $/hab.")

Histogramme

Dans le cas d’une variable quantitative continue, la visualisation la plus logique est l’histogramme que l’on peut tracer avec la fonction hist(). Celle-ci comporte de nombreux paramètres que l’on peut visualiser dans la fenêtre Help qui se trouve en bas à gauche de R-studio :

Histogramme

Comme d’habitude, on peut appliquer la syntaxe la plus simple :

X<-don$PIB
hist(X)

Histogramme

On peut ensuite améliorer avec l’ajout de titres et un choix précis de classes.

hist(X, 
     breaks = c(1000, 1500, 2000,3000,5000, 6000), 
     col= "lightyellow",
     main = "PIB 2018",
     ylab = "Densité de probabilité", 
     xlab = "en $/hab.")

Histogramme

On peut également ajouter une courbe lissée de la distribution avec les fonctions lines() et density()en indiquant la portée du lissage à l’aide du paramètre bw(band width) qui est exprimé dans l’unité de mesure de X. On peut aussi ajouter un diagramme de distribution avec la fonction rug()

hist(X, 
      breaks = c(1000, 1500, 2000,3000,5000, 6000),
     col="lightyellow",
     main = "PIB en 2018",
     ylab = "Densité de probabilité", 
     xlab = "en $/hab")
lines(density(X),col="red",lwd=2)
rug(X, col="blue",lwd=2)

(D) CROISEMENT DE DEUX VARIABLES

Statistique bivariée

Nous verrons en détail dans les chapitres suivants comment croiser deux variables d’un point de vue statistiques. Mais on peut déjà indiquer brièvement comment les visualiser rapidement à l’aide de trois exemples.

Deux variables qualitatives

  • Tableau de contingence
X <- as.factor(don$LANGFR)
levels(X)<-c("non francophone", "francophone")
Y<-cut(don$POP, breaks=c(0,10,20,200))
levels(Y) <- c("petit","moyen","grand")
tab<-table(X,Y)
addmargins(tab)
                 Y
X                 petit moyen grand Sum
  non francophone     5     0     2   7
  francophone         1     5     2   8
  Sum                 6     5     4  15

Deux variables qualitatives

  • Graphique
plot(tab, col=c("yellow","orange","brown"))

Deux variables qualitatives

  • Test (Chi-2)
test<-chisq.test(X,Y)
test

    Pearson's Chi-squared test

data:  X and Y
X-squared = 7.6339, df = 2, p-value = 0.02199

Deux variables quantitatives

  • Paramètres principaux
Y <- don$CO2HAB
X<-don$PIB
summary(X)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1208    1830    2305    2957    4238    5304 
summary(Y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.100   0.195   0.320   0.376   0.605   0.740 

Deux variables quantitatives

  • Graphique
plot(X,Y, xlab="PIB/hab",ylab="CO2/hab")
text(X,Y,don$iso3,pos = 4,cex=0.6)

Deux variables quantitatives

  • Test (Pearson)
cor.test(Y,X)

    Pearson's product-moment correlation

data:  Y and X
t = 3.4734, df = 13, p-value = 0.004119
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.2816077 0.8898101
sample estimates:
      cor 
0.6937868 

Une quantitative et une qualitative

  • Graphique
Y <- don$AGEMED
X <- as.factor(don$LANGFR)
levels(X)<-c("non","oui")
plot(X,Y, 
     col=c("blue","red"),
     xlab ="Age médian",
     ylab = "Francophone",
     horizontal=T)

Une quantitative et une qualitative

  • Test (Fisher)
mod<-aov(Y~X)
summary(mod)
            Df Sum Sq Mean Sq F value Pr(>F)  
X            1  7.985   7.985   4.366 0.0569 .
Residuals   13 23.779   1.829                 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

En résumé

Nous avons survolé les principales fonctions élémentaires de R-Base pour montrer qu’il est facile et surtout rapide de les employer en lieu et place d’un tableur comme Excel ou d’un logiciel de statistique click-bouton.

Il reste encore beaucoup à apprendre mais à ce stade il est important de bien consolider les acquis et de connaître par coeur le nom des principales fonctions de base qui ont été présentées au cours de ce chapitre.

Vous allez donc reprendre l’ensemble de ce chapitre en utilisant un tableau complet comportant plus de pays et de variables.